package dominio;

import java.io.Serializable;

import org.uqbar.commons.model.ObservableObject;

public class Robot extends ObservableObject implements Serializable{
	
	public static final String NOMBRE = "nombre";
	public static final String PODERTOTAL = "poderTotal";
	public static final String PORCENTAJE = "porcentaje";
	public static final String DUENIO = "duenio";	
	public static final String NIVELDETERIORO = "nivelDeterioro";
	public static final String NOMBREDUENIO = "nombreDuenio";
	

	private String nombre;
	private int poderTotal;
	private int nivelDeterioro;
	private int porcentaje;
	private Jugador duenio;
	public String nombreDuenio;
	
	


	public Robot(String nombre, int poderTotal, int nivelDeterioro) {
		this.nivelDeterioro = nivelDeterioro;
		this.poderTotal = poderTotal;
		this.nivelDeterioro = nivelDeterioro;
		this.nombre=nombre;
		
	}
	
	
	public Robot() {
		// TODO Auto-generated constructor stub
	}


	protected int poderEfectivo(){
		return this.getPoderTotal() *(100 - this.getNivelDeterioro()) / 100;
	}
	
	protected int precio(){
		return this.poderEfectivo() * 50;
	}
	
	public void reparar(){
		this.setPorcentaje(100);
		this.nivelDeterioro = 0;
		//firePropertyChange(PORCENTAJE, null, this.porcentaje);
	}
	
	public String getNombreDuenio() {
		return nombreDuenio;
	}


	public void setNombreDuenio(String nombreDuenio) {
		this.setFieldValue(NOMBREDUENIO,nombreDuenio);
	}
	
	public String getNombre() {
		return nombre;
	}
	public void setNombre(String nombre) {
		this.setFieldValue(NOMBRE,nombre);
	}
	public int getPoderTotal() {
		return poderTotal;
	}
	public void setPoderTotal(int poderTotal) {
		this.setFieldValue(PODERTOTAL,poderTotal);
	}
	public int getNivelDeterioro() {
		return nivelDeterioro;
	}
	public void setNivelDeterioro(int nivelDeterioro) {
		
		this.setFieldValue(NIVELDETERIORO,nivelDeterioro);
	}


	public void setPorcentaje(int porcentaje) {
		this.setFieldValue(PORCENTAJE,porcentaje);;
	}


	public int getPorcentaje() {
		return porcentaje;
	}


	public void setDuenio(Jugador duenio) {
		this.setFieldValue(DUENIO,duenio);
	}


	public Jugador getDuenio() {
		return duenio;
	}
	
	


}
